﻿using Inovout.Models;
using Inovout.Security;
using System;

namespace Inovout.Memberships.Models
{
    public  partial class MembershipUser : DataObject
    {
        public MembershipUser()
        {
        }

        private IMembership membership;
        private ISystemUser systemUser;
        public virtual IMembership Membership
        {
            get { return membership; }
            set
            {
                this.membership = value; 
                membershipType = TypeHelper.GetType(membership);

            }
        }
        public virtual ISystemUser SystemUser
        {
            get { return systemUser; }
            set
            {
                this.systemUser = value;
            }
        }


        private Type membershipType;
        public virtual Type MembershipType
        {
            get { return membershipType; }
        }
        //private Type userType;
        //public virtual Type UserType 
        //{ 
        //    get { return userType; } 
        //}

        public virtual string IdentifierCode
        {
            get;
            set;

        }

        public virtual string Email
        {
            get;
            set;
        }

        public virtual MembershipUserStatus Status
        {
            get;
            set;
        }
    }
}
